/**
 * Created by liuchuanyang on 2017/8/4.
 */
import _ from 'lodash';
import navThemes from './nav/nav-theme-def';

const link = {
    type: '',       // PAGE-页面，WEB-url，ANCHOR-锚点
    page: '',       // PAGE:PAGEID-页面，WEB:http://juzhile.cc-url，ANCHOR:#id-锚点
    query: {}
};

const commonTpl = {
    border: {   // 边框
        mode: 'default',    // default | hidden | custom
        color: '#EEE',
        width: 1,
        style: 'solid',     // solid/dashed/dotted
    },
    header: {   // 标题
        show: true,  // true | false
        title: {
            mode: 'default',     //default / hidden / custom
            txt: '模块标题',
            fontSize: 16,
            weight: 'normal',     // normal | lighter | bolder
            color: '#333',   // default / #000 ...
            align: 'left',      // left | center | right
            left: 0,
            top: 0
        },
        icon: {
            show: true,
            icon: 'fa fa-navicon',
            color: '#blue',
            size: 16,   // 字体大小&图片宽高
            img: '',
            width: 24,
            radius: 5,
        },
        more: {
            show: true,
            txt: '更多',    // 文字
            color: '#999',  // 颜色
            size: 16,   // 字体大小&图片宽高
            link: _.defaultsDeep(link)
        },
        moreIcon: {
            show: true,
            icon: 'fa fa-angle-right',   // 图标
            color: '#blue',
            size: 16,   // 字体大小&图片宽高
            img: '',
            width: 24,
            radius: 5,
        },
        border: {   // 底部边框
            mode: 'default',    // default | hidden | custom
            color: '#EEE',
            width: 1,
            style: 'solid',     // solid/dashed/dotted
        },
        bg: {
            mode: 'default',    //default / hidden / custom
            backgroundColor: '#F00',
            backgroundImage: '',
        }
    },
    heightMode: 'auto', // 高度 auto / fixed
    height: 200,
    margin: {   // 边距
        mode: 'default',   // default / custom
        top: 0,
        right: 0,
        bottom: 0,
        left: 0
    },
    alpha: 0,   // 透明度
    bg: {
        mode: 'default',    //default / hidden / custom
        backgroundColor: '#F00',
        backgroundImage: '',
    },
    // background: 'default', //default / hidden / custom
    // backgroundColor: '#F00',
    // backgroundImage: '',
    content: {
        // background: 'default', //default / hidden / custom
        // backgroundColor: '#F00',
        // backgroundImage: '',
        bg: {
            mode: 'default',    //default / hidden / custom
            backgroundColor: '#F00',
            backgroundImage: '',
        },
        padding: {
            mode: 'default',   // default / custom
            top: 0,
            right: 0,
            bottom: 0,
            left: 0
        }
    }
};

export default {
    // 通用设置：模块边框，四周距离，背景色，透明度
    // 文本
    'jzlText': {
        btn: {
            type: 'jzlText',
            icon: 'fa fa-font',
            name: '文本'
        },
        default: {
            // id: -1,     // 内容id, 如果不存在为新增，其他则为修改
            pcr_code: '',
            module_name: '',
            module_type: 'jzlText',

            tpl: _.defaultsDeep({
                type: 'jzlText',
                text: {
                    // align: 'center',    // left | center | right | full-全屏按钮
                    // txt: {
                    //     mode: 'default',     //default / hidden / custom
                    //     txt: '按钮',
                    //     fontSize: 16,
                    //     weight: 'normal',     // normal | lighter | bolder
                    //     color: '#333',   // default / #000 ...
                    //     align: 'left'      // left | center | right
                    // },
                    border: {   // 底部边框
                        mode: 'default',    // default | hidden | custom
                        color: '#EEE',
                        width: 1,
                        style: 'solid',     // solid/dashed/dotted
                    },
                    bg: {
                        mode: 'default', //default / hidden / custom
                        backgroundColor: '#F00',
                        backgroundImage: '',
                    }
                },
                border: {
                    mode: 'hidden'
                },
                header: {
                    show: false
                },
                contentDefine: [{
                    field: 'txt',
                    types: ['textarea', 'input', 'text'],
                    label: '内容'
                }]
            }, commonTpl),

            // 数据来源类型 static | datas | content.
            // static: 直接取值 data, data1, data2, data3 ...  transform 转换字段赋值给content
            // datas: 通过module_data_id获取数据 transform 转换字段赋值给content
            // content: 通过module_data_id获取数据 transform 转换字段赋值给content
            module_data_source_type: 'static',   // static, dync
            module_data_source: 'static',        // datas, content, contents
            module_data_type: '',
            module_data_id: -1,
            module_data1: '',
            // 哪种数据类型，都以transform对象转换映射
            module_transform: {
                txt: 'module_data1'    // dataId 查询到的数据company_info字段会映射到 data
            },
            content: {
                txt: ''
            }
        }
    },
    // 图片：大小，圆角，对齐等
    'image': {
        btn: {
            type: 'image',
            icon: 'fa-image',
            name: '图片'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'image',
            tpl: _.defaultsDeep({
                type: 'image',
                image: {
                    link: _.defaultsDeep(link),
                    widthMode: 'auto',    // auto | full | fixed
                    width: 100,           //
                    heightMode: 'auto',   // auto | fixed
                    height: 100,
                    align: 'center',      // left | center | right
                },
                txt: {
                    show: true,
                    themeMode: 'normal',    // normal | air
                    align: 'bottom',        // top | middle | bottom
                    bg: {
                        mode: 'default', //default / hidden / custom
                        backgroundColor: '#F00',
                        backgroundImage: '',
                    },
                    name: {
                        mode: 'default',     //default / hidden / custom
                        // txt: '图片标题',
                        fontSize: 16,
                        weight: 'normal',     // normal | lighter | bolder
                        color: '#333',      // default / #000 ...
                        align: 'left',      // left | center | right
                    },
                    desc: {
                        mode: 'default',     //default / hidden / custom
                        // txt: '图片描述',
                        fontSize: 16,
                        weight: 'normal',     // normal | lighter | bolder
                        color: '#333',   // default / #000 ...
                        align: 'left'      // left | center | right
                    },
                    margin: {
                        mode: 'default',   // default / custom
                        top: 0,
                        right: 0,
                        bottom: 0,
                        left: 0
                    },
                    padding: {
                        mode: 'default',   // default / custom
                        top: 0,
                        right: 0,
                        bottom: 0,
                        left: 0
                    },
                },
                border: {
                    mode: 'hidden'
                },
                header: {
                    show: false
                },
                contentDefine: [{
                    field: 'image',
                    types: ['image'],
                    label: '图片'
                }, {
                    field: 'name',
                    types: ['input'],
                    label: '名称'
                }, {
                    field: 'desc',
                    types: ['input', 'text'],
                    label: '描述'
                }]
            }, commonTpl),

            module_data_source_type: 'static',   // static, dync
            module_data_source: 'static',        // datas, content, contents
            module_data1: require('@/views/assets/images/goods_01.png'),    // 图片url
            module_data2: '图片名称',
            module_data3: '图片描述',
            // dataId: -1,         // 数据ID
            module_transform: {        // 字段转换
                image: 'module_data1',
                name: 'module_data2',
                desc: 'module_data3',
            },
            content: {
                image: '',
                name: '',
                desc: ''
            }
        }
    },
    // 按钮：图标，文字，连接，样式，圆角，边框，底色
    'button': {
        btn: {
            type: 'button',
            icon: 'fa fa-toggle-on',
            name: '按钮'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'button',
            tpl: _.defaultsDeep({
                type: 'button',
                button: {
                    link: _.defaultsDeep(link),
                    align: 'center',    // left | center | right | full-全屏按钮
                    txt: {
                        mode: 'default',     //default / hidden / custom
                        txt: '按钮',
                        fontSize: 16,
                        weight: 'normal',     // normal | lighter | bolder
                        color: '#333',   // default / #000 ...
                        align: 'left'      // left | center | right
                    },
                    icon: {
                        show: true,
                        icon: 'fa fa-navicon',
                        color: '#blue',
                        size: 16,   // 字体大小&图片宽高
                        img: '',
                        width: 24,
                        radius: 5,
                    },
                    border: {   // 底部边框
                        mode: 'default',    // default | hidden | custom
                        color: '#EEE',
                        width: 1,
                        style: 'solid',     // solid/dashed/dotted
                    },
                    bg: {
                        mode: 'default', //default / hidden / custom
                        backgroundColor: '#F00',
                        backgroundImage: '',
                    }
                },
                border: {
                    mode: 'hidden'
                },
                header: {
                    show: false
                }
            }, commonTpl),

            // 按钮没有数据，全是配置
        }
    },
    'paybtn': {
        btn: {
            type: 'paybtn',
            icon: 'fa fa-toggle-on',
            name: '支付按钮'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'paybtn',
            tpl: _.defaultsDeep({
                type: 'paybtn',
                paybtn: {
                    link: _.defaultsDeep(link),
                    align: 'center',    // left | center | right | full-全屏按钮
                    txt: {
                        mode: 'default',     //default / hidden / custom
                        txt: '按钮',
                        fontSize: 16,
                        weight: 'normal',     // normal | lighter | bolder
                        color: '#333',   // default / #000 ...
                        align: 'left'      // left | center | right
                    },
                    icon: {
                        show: true,
                        icon: 'fa fa-navicon',
                        color: '#blue',
                        size: 16,   // 字体大小&图片宽高
                        img: '',
                        width: 24,
                        radius: 5,
                    },
                    border: {   // 底部边框
                        mode: 'default',    // default | hidden | custom
                        color: '#EEE',
                        width: 1,
                        style: 'solid',     // solid/dashed/dotted
                    },
                    bg: {
                        mode: 'default', //default / hidden / custom
                        backgroundColor: '#F00',
                        backgroundImage: '',
                    }
                },
                border: {
                    mode: 'hidden'
                },
                header: {
                    show: false
                },
                contentDefine: [{
                    field: 'price',
                    types: ['input'],
                    label: '价格'
                }, {
                    field: 'name',
                    types: ['input'],
                    label: '名称'
                }/*, {
                    field: 'desc',
                    types: ['input', 'text'],
                    label: '描述'
                }*/, {
                    field: 'image',
                    types: ['image'],
                    label: '图片'
                }]
            }, commonTpl),

            module_data_source_type: 'static',   // static, dync
            module_data_source: 'static',        // datas, content, contents
            module_data1: 0,
            module_data2: '商品名称',
            module_data3: '',       // 图片url
            // dataId: -1,         // 数据ID
            module_transform: {        // 字段转换
                price: 'module_data1',
                name: 'module_data2',
                image: 'module_data3',
            },
            content: {
                price: 0,
                name: '',
                image: ''
            }
        }
    },
    // 视频：大小，封面
    'video': {
        btn: {
            type: 'video',
            icon: 'fa fa-video-camera',
            name: '视频'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'video',
            tpl: _.defaultsDeep({
                type: 'video',
                video: {
                    widthMode: 'auto',    // auto | full | fixed
                    width: 100,           //
                    heightMode: 'auto',   // auto | fixed
                    height: 100,
                    align: 'center',      // left | center | right
                    txt: {
                        show: true,
                        themeMode: 'normal',    // normal | air
                        align: 'bottom',        // top | middle | bottom
                        bg: {
                            mode: 'default', //default / hidden / custom
                            backgroundColor: '#F00',
                            backgroundImage: '',
                        },
                        name: {
                            mode: 'default',     //default / hidden / custom
                            // txt: '图片标题',
                            fontSize: 16,
                            weight: 'normal',     // normal | lighter | bolder
                            color: '#333',      // default / #000 ...
                            align: 'left',      // left | center | right
                        },
                        desc: {
                            mode: 'default',     //default / hidden / custom
                            // txt: '图片描述',
                            fontSize: 16,
                            weight: 'normal',     // normal | lighter | bolder
                            color: '#333',   // default / #000 ...
                            align: 'left'      // left | center | right
                        },
                        margin: {
                            mode: 'default',   // default / custom
                            top: 0,
                            right: 0,
                            bottom: 0,
                            left: 0
                        },
                        padding: {
                            mode: 'default',   // default / custom
                            top: 0,
                            right: 0,
                            bottom: 0,
                            left: 0
                        },
                    }
                },
                border: {
                    mode: 'hidden'
                },
                header: {
                    show: false
                },
                contentDefine: [{
                    field: 'video',
                    types: ['file', 'input'],
                    label: '视频'
                }, {
                    field: 'poster',
                    types: ['image'],
                    label: '封面'
                }, {
                    field: 'name',
                    types: ['input'],
                    label: '名称'
                }, {
                    field: 'desc',
                    types: ['input', 'text'],
                    label: '描述'
                }]
            }, commonTpl),

            module_data_source_type: 'static',   // static, dync
            module_data_source: 'static',        // datas, content, contents
            module_data1: '',
            module_data2: require('@/views/assets/images/goods_01.png'),    // 图片url
            module_data3: '图片名称',
            module_data4: '图片描述',
            dataId: -1,         // 数据ID
            module_transform: {        // 字段转换
                video: 'module_data1',
                poster: 'module_data2',
                name: 'module_data3',
                desc: 'module_data4',
            },
            content: {
                video: '',
                poster: '',
                name: '',
                desc: '',
            }
        }
    },
    // 菜单导航
    'nav': {
        btn: {
            type: 'nav',
            icon: 'fa fa-navicon',
            name: '菜单导航'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'nav',
            tpl: _.defaultsDeep({
                type: 'nav',
                nav: _.cloneDeep(navThemes['n10']),
                header: {
                    show: false
                },
                content: {
                    padding: {
                        mode: 'custom',   // default / custom
                        top: 0,
                        right: 0,
                        bottom: 0,
                        left: 0
                    }
                },
                contentDefine: [{
                    field: 'title',
                    types: ['input'],
                    default: '标题文字',
                    label: '标题文字'
                }, {
                    field: 'subtitle',
                    types: ['input'],
                    default: '子标题内容',
                    label: '描述文字'
                }, {
                    field: 'vtitle',
                    types: ['object'],
                    component: 'txt',
                    default: {
                        mode: 'default',     //default / hidden / custom
                        fontSize: 14,
                        weight: 'normal',     // normal | lighter | bolder
                        color: '#333',      // default / #000 ...
                        align: 'center',      // left | center | right
                        lineHeight: 1.2,
                    },  // 'tpl.nav.vtitle',
                    label: '标题设置'
                }, {
                    field: 'vsubtitle',
                    types: ['object'],
                    component: 'txt',
                    default: {
                        mode: 'default',     //default / hidden / custom
                        // txt: '图片描述',
                        fontSize: 12,
                        weight: 'normal',     // normal | lighter | bolder
                        color: '#333',   // default / #000 ...
                        align: 'center',      // left | center | right
                        lineHeight: 1.2,
                    },  // 'tpl.nav.vsubtitle',
                    label: '描述设置'
                }, {
                    field: 'icon',
                    types: ['object'],
                    component: 'icon',
                    default: 'tpl.nav.icon',
                    label: '图标'
                }, {
                    field: 'bg',
                    types: ['object'],
                    component: 'bg',
                    default: {
                        mode: 'default', //default / hidden / custom
                        backgroundColor: '#FFF',
                        backgroundImage: '',
                        size: 'cover',          // 背景尺寸
                        mask: 0,            // 是否遮罩
                        blur: 0,             // 背景模糊
                    },//'tpl.nav.bg',
                    label: '背景色'
                }, {
                    field: 'border',
                    types: ['object'],
                    component: 'border',
                    default: {   // 底部边框
                        mode: 'default',    // default | hidden | custom
                        color: '#EEE',
                        width: 1,
                        style: 'solid',     // solid/dashed/dotted
                    },  // 'tpl.nav.border',
                    label: '边框'
                } ]
            }, commonTpl),

            module_data_source_type: 'static',   // static, dync
            module_data_source: '',       // datas, content, contents

            module_data_id: -1,  // test
            module_data_type: null,
            module_data1: [],
            module_transform: {    // 字段转换
                title: '',
                vtitle: '',
                subtitle: '',
                vsubtitle: '',
                icon: '',
                bg: '',
                border: ''
            },
            content: null
        }
    },
    // 富文本：内容
    /*'editor': {
        btn: {
            type: 'editor',
            icon: 'fa fa-file-text-o',
            name: '富文本'
        },
        default: {
            tpl: _.assign({
                type: 'editor'
            }, commonTpl),
            content: {
                type: 'static', // 数据来源类型
     module_transform: {    // 字段转换
                    name: 'arg0',
                    desc: 'arg1'
                },
                data: [] // [] or url
            }
        }
    },*/
    // 标题：左图标，右图标，文字，背景色，边框，样式
    /*'title': {
        btn: {
            type: 'title',
            icon: 'fa fa-header',
            name: '标题'
        },
        default: {
            tpl: _.assign({
                type: 'title'
            }, commonTpl),
            content: {
                type: 'static', // 数据来源类型
     module_transform: {    // 字段转换
                    name: 'arg0',
                    desc: 'arg1'
                },
                data: [] // [] or url
            }
        }
    },*/
    // 轮播：全屏，方向，距离，效果等
    'slider': {
        btn: {
            type: 'slider',
            icon: 'fa fa-clone',
            name: '轮播'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'slider',
            tpl: _.defaultsDeep({
                type: 'slider',
                slider: {
                    link: _.defaultsDeep(link),
                    // heightMode: 'fixed',     // fixed-定高 | min-最小高度 | max-最大高度
                    height: 180,
                    // animate: 'fadeIn',
                    autoplay: false,     // 是否自动切换
                    interval: 5000,     // 自动切换时间间隔
                    duration: 500,      // 滑动动画时长
                    vertical: false,    // 滑动方向是否为纵向
                    // swiperStyle: 'single',    // single | circular-衔接滑动
                    multiple: 1,        // 同时显示的滑块数量

                    image: {   // 使用bg 组件
                        mode: 'hidden', //default / hidden / custom
                        backgroundColor: '#EEE',
                        backgroundImage: '',
                        size: 'cover',          // 背景尺寸
                        mask: 0,              // 是否遮罩
                        // maskOpacity: 0,         // 不透明度 从 0.0 （完全透明）到 1.0（完全不透明）
                        blur: 0,               // 背景模糊
                        // blurLevel: 0,           // 0px - 10px
                    },
                    point: {
                        show: true,         // 是否显示点
                        // style: 'circle',    // circle | rect
                        color: '#000',      // 指示点颜色
                        activeColor: '#F00' // 指示点激活的颜色
                    },
                    txt: {
                        mode: 'default',    // default / hidden / custom
                        widthMode: 'full',  // auto-自动 | full-100% | fixed-定值 | ratio-比例
                        width: 100,
                        position: 'bottom',    // top | center | bottom | left-center | right-center |
                        bg: {
                            mode: 'hidden', //default / hidden / custom
                            backgroundColor: '#EEE',
                            backgroundImage: '',
                            size: 'cover',          // 背景尺寸
                            mask: 0,              // 是否遮罩
                            // maskOpacity: 0,         // 不透明度 从 0.0 （完全透明）到 1.0（完全不透明）
                            blur: 0,               // 背景模糊
                            // blurLevel: 0,           // 0px - 10px
                        },
                        padding: {
                            mode: 'default',   // default / custom
                            top: 0,
                            right: 0,
                            bottom: 0,
                            left: 0
                        },
                        margin: {
                            mode: 'default',   // default / custom
                            top: 0,
                            right: 0,
                            bottom: 0,
                            left: 0
                        },
                        border: {   // 底部边框
                            mode: 'default',    // default | hidden | custom
                            color: '#EEE',
                            width: 1,
                            style: 'solid',     // solid/dashed/dotted
                        },
                        vtitle: {
                            mode: 'custom',     //default / hidden / custom
                            // txt: '图片标题',
                            fontSize: 14,
                            weight: 'bolder',     // normal | lighter | bolder
                            color: '#333',      // default / #000 ...
                            align: 'center',      // left | center | right
                            lineHeight: 1.2,
                        },
                        vsubtitle: {
                            mode: 'custom',     //default / hidden / custom
                            // txt: '图片标题',
                            fontSize: 14,
                            weight: 'bolder',     // normal | lighter | bolder
                            color: '#333',      // default / #000 ...
                            align: 'center',      // left | center | right
                            lineHeight: 1.2,
                        },
                    }
                },
                header: {
                    show: false
                },
                content: {
                    padding: {
                        mode: 'custom',   // default / custom
                        top: 0,
                        right: 0,
                        bottom: 0,
                        left: 0
                    }
                },
                contentDefine: [{
                    field: 'image',
                    types: ['image'],
                    label: '图片'
                }, {
                    field: 'title',
                    types: ['input', 'text'],
                    label: '标题'
                }, {
                    field: 'desc',
                    types: ['input', 'text'],
                    label: '描述'
                }]
            }, commonTpl),

            module_data_source_type: 'dync',   // static, dync
            module_data_source: 'datas',     // datas, content, contents
            module_data_id: -1,
            module_data_type: null,
            module_data1: [],
            module_data4: 'fixed',   // 数据数量类型：fixed-定长， infinite-无限加载
            module_data5: 10,   // 数量， fixed-只展示数据前多少条， infinite-每页加载数量
            module_transform: {    // 字段转换
                image: '',
                title: '',
                desc: ''
            },
            content: []
        }
    },
    // 列表：
    'list': {
        btn: {
            type: 'list',
            icon: 'fa fa-list-alt',
            name: '列表'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'list',
            tpl: _.defaultsDeep({
                type: 'list',
                list: {
                    link: _.defaultsDeep(link),
                    sizeMode: 'lg-sm2',     // lg, sm, lg-sm2, detail
                    showMode: 'normal',     // normal | card
                    border: {
                        mode: 'default',    // default | hidden | custom
                        color: '#EEE',
                        width: 1,
                        style: 'solid',     // solid/dashed/dotted
                    },
                    margin: {
                        mode: 'default',   // default / custom
                        top: 0,
                        right: 0,
                        bottom: 0,
                        left: 0
                    },
                    padding: {
                        mode: 'default',   // default / custom
                        top: 0,
                        right: 0,
                        bottom: 0,
                        left: 0
                    },
                    txt: {
                        // mode: 'default',    // default / hidden / custom
                        show: true,
                        themeMode: 'normal',    // normal | air
                        align: 'bottom',        // top | middle | bottom
                        bg: {
                            mode: 'default', //default / hidden / custom
                            backgroundColor: '#F00',
                            backgroundImage: '',
                        },
                        name: {
                            mode: 'default',     //default / hidden / custom
                            // txt: '图片标题',
                            fontSize: 16,
                            weight: 'normal',     // normal | lighter | bolder
                            color: '#333',   // default / #000 ...
                            align: 'left'      // left | center | right
                        },
                        desc: {
                            mode: 'default',     //default / hidden / custom
                            // txt: '图片描述',
                            fontSize: 16,
                            weight: 'normal',     // normal | lighter | bolder
                            color: '#333',   // default / #000 ...
                            align: 'left'      // left | center | right
                        },
                        margin: {
                            mode: 'default',   // default / custom
                            top: 0,
                            right: 0,
                            bottom: 0,
                            left: 0
                        },
                        padding: {
                            mode: 'default',   // default / custom
                            top: 0,
                            right: 0,
                            bottom: 0,
                            left: 0
                        },
                    }
                },
                contentDefine: [{
                    field: 'name',
                    types: ['input', 'text'],
                    label: '名称'
                }, {
                    field: 'desc',
                    types: ['input', 'text'],
                    label: '描述'
                }, {
                    field: 'image',
                    types: ['image'],
                    label: '图片'
                }/*, {
                    field: 'href',
                    types: ['input', 'text'],
                    label: '链接'
                }*/]
            }, commonTpl),

            module_data_source_type: 'dync',   // static, dync
            module_data_source: 'datas',       // datas, content, contents

            module_data_id: -1,  // test
            module_data_type: null,
            module_data1: [],
            module_data4: 'fixed',   // 数据数量类型：fixed-定长， infinite-无限加载
            module_data5: 10,   // 数量， fixed-只展示数据前多少条， infinite-每页加载数量
            module_transform: {    // 字段转换
                image: '',
                /*href: '',*/
                name: '',
                desc: ''
            },
            content: null
        }
    },
    // 文本列表连接
    'text-nav': {
        btn: {
            type: 'text-nav',
            icon: 'fa fa-list',
            name: '文本列表'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'text-nav',
            tpl: _.defaultsDeep({
                type: 'text-nav',
                "text-nav": {
                    link: _.defaultsDeep(link),
                    padding: {
                        mode: 'default',   // default / custom
                        top: 8,
                        right: 8,
                        bottom: 8,
                        left: 0
                    },
                    image: {
                        mode: 'noimg',       // noimg | imgleft | imgright
                        width: 40,
                        radius: 0,
                        margin: {
                            mode: 'default',   // default / custom
                            top: 0,
                            right: 10,
                            bottom: 0,
                            left: 0
                        }
                    },
                    title: {
                        mode: 'default',     // default / hidden / custom
                        fontSize: 16,
                        weight: 'normal',     // normal | lighter | bolder
                        color: '#333',   // default / #000 ...
                        // align: 'left',      // left | center | right
                    },
                    desc: {
                        mode: 'hidden',     // default / hidden / custom
                        fontSize: 12,
                        weight: 'normal',     // normal | lighter | bolder
                        color: '#999',   // default / #000 ...
                        align: 'bottom',      // bottom | right
                    },
                    moreIcon: {
                        show: true,
                        icon: 'fa fa-angle-right',   // 图标
                        color: '#999',  // 颜色
                        size: 12,   // 字体大小&图片宽高
                        img: '',
                        width: 16,
                        radius: 5,
                    },
                    border: {   // 底部边框
                        mode: 'default',    // default | hidden | custom
                        color: '#EEE',
                        width: 1,
                        style: 'solid',     // solid/dashed/dotted
                    },
                },
                header: {
                    show: false
                },
                border: {   // 边框
                    mode: 'hidden'
                },
                contentDefine:[{
                    field: 'title',
                    types: ['input', 'text'],
                    label: '名称'
                }, {
                    field: 'desc',
                    types: ['input', 'text'],
                    label: '描述'
                }, {
                    field: 'img',
                    types: ['image'],
                    label: '图片'
                }]
            }, commonTpl),

            module_data_source_type: 'dync',   // static, dync
            module_data_source: 'datas',     // datas, content, contents
            module_data_id: -1,
            module_data_type: null,
            module_data1: [],
            module_data4: 'fixed',   // 数据数量类型：fixed-定长， infinite-无限加载
            module_data5: 10,   // 数量， fixed-只展示数据前多少条， infinite-每页加载数量
            module_transform: {    // 字段转换
                title: '',
                desc: ''
            },
            content: [],    /*[{ href: '', name: '' }]*/
        }
    },
    'filter': {
        btn: {
            type: 'filter',
            icon: 'fa fa-filter',
            name: '列表筛选'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'filter',
            tpl: _.defaultsDeep({
                type: 'filter',
                filter: {
                    showMode: 'slider',     // slider-一行左右滑动 | collapse-折叠内容
                    colNum: 3,              // collapse 模式，每行个数
                    backgroundColor: '#EEE',
                    border: {   // 底部边框
                        mode: 'hidden',    // default | hidden | custom
                        color: '#EEE',
                        width: 1,
                        style: 'solid',     // solid/dashed/dotted
                    },
                    padding: {
                        mode: 'default',   // default / custom
                        top: 0,
                        right: 10,
                        bottom: 0,
                        left: 10
                    },
                    defaultStyle: {
                        color: '#333',
                    },
                    activeStyle: {
                        color: '#409EFF',
                    },
                    vtitle: {
                        mode: 'default',     //default / hidden / custom
                        // txt: '图片标题',
                        fontSize: 12,
                        weight: 'normal',     // normal | lighter | bolder
                        color: '#333',      // default / #000 ...
                        align: 'center',      // left | center | right
                        lineHeight: 1.1,
                    },
                },
                header: {
                    show: false
                },
                content: {
                    padding: {
                        mode: 'custom',   // default / custom
                        top: 0,
                        right: 0,
                        bottom: 0,
                        left: 0
                    }
                },
                contentDefine: [{
                    field: 'title',
                    types: ['input'],
                    default: '显示文字',
                    label: '显示文字'
                }, {
                    field: 'val',
                    types: ['input'],
                    default: '',
                    label: '筛选值'
                }]
            }, commonTpl),

            module_data_source_type: 'static',   // static, dync
            module_data_source: '',       // datas, content, contents, options

            module_data_id: -1,  // 内容ID / form_item_id
            module_data_type: null,
            module_data1: [{
                title: "全部",
                val: -1,
            }, {
                title: "热门",
                val: 1,
            }],
            module_data2: '',   // 目标锚点code: page_content_rel
            module_data3: '',   // 目标属性code: content -> form -> form_item_code
            module_data4: 'fixed',   // 数据数量类型：fixed-定长， infinite-无限加载
            module_data5: 10,   // 数量， fixed-只展示数据前多少条， infinite-每页加载数量
            module_transform: {
                title: "",
                val: ""
            },
            content: null
        }
    },
    'notice': {     // 广告
        btn: {
            type: 'notice',
            icon: 'fa-newspaper-o',
            name: '公告'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'notice',
            tpl: _.defaultsDeep({
                type: 'notice',
                notice: {
                    link: _.defaultsDeep(link),
                    // animate: 'fadeIn',
                    autoplay: true,     // 是否自动切换
                    interval: 2000,     // 自动切换时间间隔
                    duration: 500,      // 滑动动画时长
                    vertical: true,    // 滑动方向是否为纵向
                    bg: {
                        mode: 'default', //default / hidden / custom
                        backgroundColor: '#ffc',
                        backgroundImage: '',
                    },
                    border: {   // 底部边框
                        mode: 'default',    // default | hidden | custom
                        color: '#f2f2f2',
                        width: 1,
                        style: 'solid',     // solid/dashed/dotted
                    },
                    icon: {
                        show: true,
                        icon: 'fa fa-bullhorn',
                        color: '#f90',
                        size: 16,   // 字体大小&图片宽高
                        img: '',
                        width: 24,
                        radius: 5,
                    }
                },
                header: {
                    show: false
                },
                border: {   // 边框
                    mode: 'hidden'
                },
                contentDefine:[{
                    field: 'name',
                    types: ['input', 'text'],
                    label: '名称'
                }/*, {
                    field: 'href',
                    types: ['input', 'text'],
                    label: '链接'
                }*/]
            }, commonTpl),

            module_data_source_type: 'dync',   // static, dync
            module_data_source: 'content',     // datas, content, contents
            module_data_id: -1,
            module_data_type: null,
            module_data1: [],
            module_data4: 'fixed',   // 数据数量类型：fixed-定长， infinite-无限加载
            module_data5: 10,   // 数量， fixed-只展示数据前多少条， infinite-每页加载数量
            module_transform: {    // 字段转换
                href: 'href',
                name: 'name'
            },
            content: [] /** { href: '', name: '' } **/
        }
    },
    // 分割线
    'line': {
        btn: {
            type: 'line',
            icon: 'fa fa-terminal',
            name: '分割线'
        },
        default: {
            pcr_code: '',
            module_name: '',
            module_type: 'line',
            tpl: _.defaultsDeep({
                type: 'line',
                line: {
                    border: {
                        mode: 'default',
                        color: '#EEE',
                        width: 1,
                        style: 'solid'     // solid/dashed/dotted
                    },
                    margin: {
                        mode: 'default',
                        top: 10,
                        right: 10,
                        bottom: 10,
                        left: 10
                    }
                },
                border: {
                    mode: 'hidden'
                },
                header: {
                    show: false
                },
                content: {
                    background: 'hidden', //default / hidden / custom
                    padding: {
                        mode: 'custom',   // default / custom
                        left: 0,
                        top: 0,
                        right: 0,
                        bottom: 0
                    }
                }
            }, commonTpl),

            // 没有内容
        }
    }
};
